var express = require('express');
var router = express.Router();
//引入连接池模块
const pool = require('../pool');

/* GET users listing. */
//响应路由（post  /reg）
//1.用户注册接口
//接口地址：http://127.0.0.1:3000/users/reg
router.post('/reg', function (req, res, next) {
  //1.2验证各项数据是否为空(状态码不变）
  let obj = req.body;
  // console.log(obj);
  if (!obj.uname) {
    res.send({
      code: 401,
      msg: "用户名不能为空"
    });
    return;
  }
  console.log(obj);
  if (!obj.upwd) {
    res.send({
      code: 402,
      msg: "密码不能为空"
    });
    return;
  }
  if (!obj.user_name) {
    res.send({
      code: 403,
      msg: "真实姓名不能为空"
    });
    return;
  }
  if (!obj.phone) {
    res.send({
      code: 404,
      msg: "电话不能为空"
    });
    return;
  }
  console.log("1");

  //验证手机号码格式
  //如果不符合规则
  if (!/^1[3-9]\d{9}$/.test(obj.phone)) {
    res.send({
      code: 405,
      msg: "手机格式不对"
    })
    return;
  };

  pool.query('select * from wjx_user where phone=?', [obj.phone], (err, result) => {
    if (err) {
      next(err);
      return;
    }
    console.log(result);
    //结果是数组，如果是空数组，说明可以注册
    if (result.length === 0) {
      pool.query('insert into wjx_user set ?', [obj], (err, result) => {
        if (err) {
          //如果出现错误交给下一个中间件来处理
          next(err)
          //阻止往后执行
          return;
        };
        console.log(result);
        res.send({
          code: 200,
          msg: "注册成功"
        })
      });
    } else {
      res.send({
        code: 201,
        msg: "用户名已存在请换一个",
        results: result
      });
    }
  });
});

//2.用户登录接口（post /login）
//接口地址：http://127.0.0.1:3000/users/login
//请求方法：post
router.post('/login', (req, res, next) => {
  //2.1获取post请求的数据
  let obj = req.body;
  console.log(obj);
  //2.2验证数据是否为空
  if (!obj.phone) {
    res.send({
      code: 401,
      msg: "电话不能为空"
    });
    return;
  }
  if (!obj.upwd) {
    res.send({
      code: 402,
      msg: "密码不能为空"
    });
    return;
  }
  pool.query('select * from wjx_user where phone=? and upwd=?', [obj.phone, obj.upwd], (err, result) => {
    if (err) {
      next(err);
      return;
    }
    console.log(result);
    //结果是数组，如果是空数组，说明登录失败，否则登录成功
    if (result.length === 0) {
      res.send({
        code: 201,
        msg: "登录失败",
        results: result
      });
    } else {
      res.send({
        code: 200,
        msg: "登录成功",
        results: result
      });
    }
  })
  //2.3查询数据并执行SQL命令，到数据库中查询有没有用户名和密码同时匹配的数据
  // pool.query('select * from wjx_user where phone=? and upwd=?', [obj.phone, obj.upwd], (err, result) => {
  //   if (err) {
  //     next(err);
  //     return;
  //   }

  //   console.log(result);
  //   //结果是数组，如果是空数组，说明登录失败，否则登录成功
  //   if (result.length === 0) {
  //     res.send({
  //       code: 201,
  //       msg: "登录失败",
  //       results:result
  //     });
  //   } else {
  //     res.send({
  //       code: 200,
  //       msg: "登录成功",
  //       results:result
  //     });
  //   }
  //   // res.send('查询成功');
  // });



});

//3.用户修改密码接口（put /modification）
//接口地址：http://127.0.0.1:3000/users/modification
//请求方法：put
router.put("/modification", (req, res, next) => {
  let obj = req.body;
  console.log(obj);
  // 在连接池中去修改密码
  pool.query("update wjx_user set upwd=? where user_name=?", [obj.upwd, obj.user_name], (err, result) => {
    if (err) {
      next(err);
      return err;
    };
    console.log(result);
    if (result.affectedRows == 1) {
      res.send({
        code: 200,
        msg: "修改成功"
      })
    } else {
      res.send({
        code: 201,
        msg: `修改失败`
      })
    }

  })
})



//4.查询用户是否注册接口（get /:uid）
//接口地址：http://127.0.0.1:3000/users/:uid
//请求方法：get
// router.get("/:phone", (req, res, next) => {
//   let obj = req.params;
//   console.log(obj);
//   pool.query("select * from  wjx_user where phone=?", [obj.phone], (err, result) => {
//     if (err) {
//       next(err);
//       return;
//     }
//     console.log(result);
//     if (result.length === 0) {
//       res.send({
//         code: 201,
//         msg: "用户不存在"
//       })
//     } else {
//       res.send({
//         code: 200,
//         msg: "用户查询成功"
//       })
//     }
//   })
// })



module.exports = router;